//package com.zysc.processflow.common.util;
//
//import com.alibaba.fastjson2.JSONObject;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//
//import java.util.List;
//import java.util.concurrent.*;
//
//@Component
//public class PhoneMessage {
//    // 阻塞队列容量声明为100个，否则无限，内存溢出风险。 固定线程池 20个。
//    private final static ExecutorService es = new ThreadPoolExecutor(20, 20,
//            0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(100), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());
//
//
//    //"http://220.191.238.3:9090/ipark-master/media/message/sendMsgEnv"
//
//    private static String msgUrl = "";
//
//    @Value("${msgUrl}")
//    public void inject(String s) {
//        msgUrl = s;
//    }
//
//    // 日志
//    private static org.slf4j.Logger logger = LoggerFactory.getLogger(PhoneMessage.class);
//
////    public static void SendMessage(String phone, String signname, String templateid, String param){
////        try{
////            String url="http://120.224.80.2:8022/shortmessage/SendSms?PhoneNumbers="+phone+"&SignName="+signname+"&TemplateCode="+templateid+"&TemplateParam="+URLEncoder.encode(param,"UTF-8");
////            String jsonStr = HttpUtils.getByClient(url);
////            JSONObject jsonObject = JSONObject.parseObject(jsonStr);
////            if(jsonObject.get("code")!="200"){
////                logger.error("发送短消息失败");
////            }
////        }catch(Exception e){
////            logger.error("发送短消息失败:"+e.getMessage());
////        }
////    }
//
//
//    public static void SendMessage(List<String> phoneList, String message) {
//        JSONObject params = new JSONObject();
//        params.put("content", message);
//        params.put("phoneList", phoneList);
//        //异步执行。
//        CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
//            try {
//                return HttpClientUtil.post(msgUrl, params, null);
//            } catch (Exception e) {
//                JSONObject objj = new JSONObject();
//                objj.put("code", 500);
//                objj.put("message", e.getMessage());
//                return objj.toJSONString();
//            }
//        }, es);// 耗时操作异步执行。
//        future.whenComplete((rs, e) -> {
//            if (rs != null) {
//                JSONObject jsonRs = JSONObject.parseObject(rs);
//                if (jsonRs.getIntValue("code") != 0) {
//                    logger.error("发送短消息失败:" + jsonRs.getString("message"));
//                }
//            }
//            if (e != null) {
//                logger.error("发送短消息失败:" + e.getMessage());
//            }
//        });
//
//
//    }
//}
